async function async1() {
  console.log('AAAA'); // 同步执行
  async2(); // 同步执行
  console.log('BBBB') // 同步执行
}
async function async2() {
  console.log('CCCCC') // 同步执行
}
console.log('DDDDDD') // 同步执行
setTimeout(function() {
  console.log('FFFFF') // 宏任务
}, 0);
async1()
new Promise(function(resolve) {
  console.log('GGGGGG') // 同步执行
  resolve()
}).then(function () {
  console.log('HHHHH') // 微任务
})
console.log('IIIIII') // 同步执行

// a c b d g i h f
